The present invention relates to data communication field and, more particularly, to a system and method for optimizing “domain name servers” (“DNS”) traffic during the process of establishing a communication session over the Internet.
The most popular forum for world-wide data communication linking together computers all on a global basis is the Internet. The Internet is a hierarchy of many computer networks, all of which are interconnected by various types of server computers. One to the key aspects that led to the success of the Internet is the addressing scheme that is employed. The addressing scheme uses two types of addressing methods.
The first addressing method, referred to as the Internet Protocol (“IP”) address, is a numeric address value consisting of four or more (depending on the IP version IPV4 or IPV6) binary octets separated by a period or “dot”, such as AA.BB.CC.DD. The values towards the left of the address, such as AA and BB, are referred to as network addresses and are used for coarse resolution of the address, while the values towards the right of the address are used for fine resolution of the address, such as CC and DD. The numeric method suits computers very well; however, it can be difficult for human users to remember a long string of numbers.
To make the Internet more “user-friendly”, a second addressing method is used. The second method is a text-based addressing method that is “overlaid” on top of the numeric IP addressing method. Thus, a hierarchy of text-based addresses was defined. At the top of the hierarchy is a domain, which in general is a large range of IP addresses or a group of IP addresses. The right-side domain server may be assigned an easy to remember domain name such as “flashnetworks.com”. Under the Internet domain name convention, the extension of the name following the period or “dot” helps to categorize the type of domain. In this example, “com” refers to the commercial uses domain. Coupled with the domain name, “flashnetworks”, a particular domain server is addressed.
However, it should be understood that the text-based addressing method or domain name is used only as a human interface. To establish the connection to a computer using such a domain name, a translation to a numeric IP address must be made. The translation is accomplished by a number of distributed “domain name servers” (“DNS”), which can be queried to provide the translation. Each domain name server maintains records regarding IP-to-domain name assignments for the domains which it serves. This translation technique and the protocol for updating records is described in the Internet Request For Comment (“RFC”) papers, which are public documents and are well known in the art.
In some situations, a service provider may want to accelerate the Internet connection between the central premises of the service provider and a remote client. For example, this is certainly the case when the Internet connection runs over long delay connections or an expensive connection Long Fat Network (LFN) such as satellite connection, fiber cable services, cellular etc. In an effort to improve the services, the service provider or an operator may want to add Manipulation Equipment (MEq) in both sides of a long delay connection or the expensive connection—in the user equipment and in the central operator premises. In an alternate exemplary embodiment of the present invention a Manipulation Equipment (MEq) is added in one side of the LFN, usually at the central operator premises. The MEq accelerates the transportation between the user equipment and the MEq server over the IP (Internet Protocol) connection. The connection may include but is not limited to long delay connection, cellular, wireless, etc. Common MEq may operate and manipulate common IP protocols such as, but not limited to, TCP/IP modules etc. TCP/IP stands for Transmission Control Protocol/Internet Protocol. TCP provides transport functions, which ensure that the total amount of bytes sent is received correctly at the other end. UDP is part of the TCP/IP module, but is an alternate transport that does not guarantee delivery. UDP is widely used for real time voice and video transmissions where erroneous packets are not retransmitted.
Henceforth, the description of exemplary embodiments of the present invention may use the term LFN as a representative term for the communication path between a user and the MEq server at the service provider premises—the central operator premises. The communication path may include, but is not limited to, cellular, satellite, fiber optics cable, wireless, etc. The LFN may be a combination of two or more types of physical connection paths.
The MEq client may operate to interrupt the communication between a user equipment and its final destination over the LFN, and then perform some manipulation on the data before transmitting the data over the LFN. On the other side of the LFN, an MEq server is installed and performs the inverse operation of the first MEq. An exemplary MEq may operate to improve the speed of the communication and reduce the volume of data over the LFN lines. An alternate MEq may impersonate and respond in the name of the other side of the connection to increase the speed of the communication. For example, if an original connection is based on TCP/IP, then the MEq may respond and send an acknowledge packet to the sending system instead of the receiving system on the other side of the connection. An MEq may manipulate the data in internal layers, such as: the Transport layer (TCP), in the application layer (HTTP, MAPI etc.) and in the content (HTML, gif etc.). Within the context of this description, the terms manipulation, optimization and acceleration may be used interchangeably and at times, may have the same meaning.
Internet communication, which is based on protocols such as, but not limited to, HTTP, SMTP, POP3, HTML and etc., may require a plurality of DNS queries during a single communication between a client and a service provider. Each DNS query has its RTT (Round Trip Time) latency, which is reflected to the user. Furthermore, observations on the transportation over the Internet disclose that the DNS transportation has 10% of the share of the total transportation over the Internet.
There are some caching methods that are used in order to accelerate the DNS request cycle. However the DNS addresses in the caching systems may not be updated. Furthermore, the caching methods require at least one DNS cycle per caching period.
Therefore there is a need in the art for a system and a method for accelerating and improving the DNS cycle. Such a system may improve the response of the system to a user's request as well as reducing the load over the network.